home *** CD-ROM | disk | FTP | other *** search
/ BMUG Revelations / BMUG Revelations.toast / Programming / Programming Languages / Harvest C / MPW Int & Lib / Interfaces / Devices.h < prev    next >
Text File  |  1991-04-17  |  4KB  |  155 lines

  1. /************************************************************
  2.  
  3. Created: Sunday, January 6, 1991 at 9:06 PM
  4.     Devices.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.         Copyright Apple Computer, Inc.     1985-1990
  9.         All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __DEVICES__
  15. #define __DEVICES__
  16.  
  17. #ifndef __OSUTILS__
  18. #include <OSUtils.h>
  19. #endif
  20.  
  21. #ifndef __FILES__
  22. #include <Files.h>
  23. #endif
  24.  
  25. #ifndef __QUICKDRAW__
  26. #include <Quickdraw.h>
  27. #endif
  28.  
  29.  
  30. enum {
  31.  
  32.     newSelMsg = 12,
  33.     fillListMsg = 13,
  34.     getSelMsg = 14,
  35.     selectMsg = 15,
  36.     deselectMsg = 16,
  37.     terminateMsg = 17,
  38.     buttonMsg = 19,
  39.     chooserID = 1,
  40.     initDev = 0,        /*Time for cdev to initialize itself*/
  41.     hitDev = 1,         /*Hit on one of my items*/
  42.     closeDev = 2,       /*Close yourself*/
  43.     nulDev = 3,         /*Null event*/
  44.     updateDev = 4,      /*Update event*/
  45.     activDev = 5,       /*Activate event*/
  46.     deactivDev = 6,     /*Deactivate event*/
  47.     keyEvtDev = 7,      /*Key down/auto key*/
  48.     macDev = 8,         /*Decide whether or not to show up*/
  49.     undoDev = 9,
  50.     cutDev = 10,
  51.     copyDev = 11
  52. };
  53. enum {
  54.     pasteDev = 12,
  55.     clearDev = 13,
  56.     cursorDev = 14,
  57.     cdevGenErr = -1,    /*General error; gray cdev w/o alert*/
  58.     cdevMemErr = 0,     /*Memory shortfall; alert user please*/
  59.     cdevResErr = 1,     /*Couldn't get a needed resource; alert*/
  60.     cdevUnset = 3,      /* cdevValue is initialized to this*/
  61.  
  62. /* Monitors control panel messages */
  63.     initMsg = 1,        /*initialization*/
  64.     okMsg = 2,          /*user clicked OK button*/
  65.     cancelMsg = 3,      /*user clicked Cancel button*/
  66.     hitMsg = 4,         /*user clicked control in Options dialog*/
  67.     nulMsg = 5,         /*periodic event*/
  68.     updateMsg = 6,      /*update event*/
  69.     activateMsg = 7,    /*not used*/
  70.     deactivateMsg = 8,  /*not used*/
  71.     keyEvtMsg = 9,      /*keyboard event*/
  72.     superMsg = 10,      /*show superuser controls*/
  73.     normalMsg = 11,     /*show only normal controls*/
  74.     startupMsg = 12     /*code has been loaded*/
  75. };
  76.  
  77. struct DCtlEntry {
  78.     Ptr dCtlDriver;
  79.     short dCtlFlags;
  80.     QHdr dCtlQHdr;
  81.     long dCtlPosition;
  82.     Handle dCtlStorage;
  83.     short dCtlRefNum;
  84.     long dCtlCurTicks;
  85.     WindowPtr dCtlWindow;
  86.     short dCtlDelay;
  87.     short dCtlEMask;
  88.     short dCtlMenu;
  89. };
  90.  
  91. typedef struct DCtlEntry DCtlEntry;
  92. typedef DCtlEntry *DCtlPtr, **DCtlHandle;
  93.  
  94. struct AuxDCE {
  95.     Ptr dCtlDriver;
  96.     short dCtlFlags;
  97.     QHdr dCtlQHdr;
  98.     long dCtlPosition;
  99.     Handle dCtlStorage;
  100.     short dCtlRefNum;
  101.     long dCtlCurTicks;
  102.     GrafPtr dCtlWindow;
  103.     short dCtlDelay;
  104.     short dCtlEMask;
  105.     short dCtlMenu;
  106.     char dCtlSlot;
  107.     char dCtlSlotId;
  108.     long dCtlDevBase;
  109.     Ptr dCtlOwner;
  110.     char dCtlExtDev;
  111.     char fillByte;
  112. };
  113.  
  114. typedef struct AuxDCE AuxDCE;
  115. typedef AuxDCE *AuxDCEPtr, **AuxDCEHandle;
  116.  
  117.  
  118. #ifdef __cplusplus
  119. extern "C" {
  120. #endif
  121. pascal DCtlHandle GetDCtlEntry(short refNum); 
  122. pascal Boolean SetChooserAlert(Boolean f); 
  123. pascal OSErr OpenDriver(ConstStr255Param name,short *drvrRefNum); 
  124. OSErr opendriver(char *driverName,short *refNum); 
  125. pascal OSErr CloseDriver(short refNum); 
  126. pascal OSErr Control(short refNum,short csCode,const void *csParamPtr); 
  127. pascal OSErr Status(short refNum,short csCode,void *csParamPtr); 
  128. pascal OSErr KillIO(short refNum); 
  129. pascal OSErr PBControl(ParmBlkPtr paramBlock,Boolean async); 
  130. #pragma parameter __D0 PBControlSync(__A0)
  131. pascal OSErr PBControlSync(ParmBlkPtr paramBlock)
  132.     = 0xA004; 
  133. #pragma parameter __D0 PBControlAsync(__A0)
  134. pascal OSErr PBControlAsync(ParmBlkPtr paramBlock)
  135.     = 0xA404; 
  136. pascal OSErr PBStatus(ParmBlkPtr paramBlock,Boolean async); 
  137. #pragma parameter __D0 PBStatusSync(__A0)
  138. pascal OSErr PBStatusSync(ParmBlkPtr paramBlock)
  139.     = 0xA005; 
  140. #pragma parameter __D0 PBStatusAsync(__A0)
  141. pascal OSErr PBStatusAsync(ParmBlkPtr paramBlock)
  142.     = 0xA405; 
  143. pascal OSErr PBKillIO(ParmBlkPtr paramBlock,Boolean async); 
  144. #pragma parameter __D0 PBKillIOSync(__A0)
  145. pascal OSErr PBKillIOSync(ParmBlkPtr paramBlock)
  146.     = 0xA006; 
  147. #pragma parameter __D0 PBKillIOAsync(__A0)
  148. pascal OSErr PBKillIOAsync(ParmBlkPtr paramBlock)
  149.     = 0xA406; 
  150. #ifdef __cplusplus
  151. }
  152. #endif
  153.  
  154. #endif
  155.